<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <meta name="generator" content="VuePress 2.0.0-beta.61">
    <script>
      (function() {
        const userMode = localStorage.getItem('vuepress-reco-color-scheme') || 'auto';
        const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;

        if (userMode === 'dark' || (userMode === 'auto' && systemDarkMode)) {
          document.documentElement.classList.toggle('dark', true);
        }
      })();
    </script>
    <link rel="icon" href="/icon.png"><title>http协议 | FYJ</title><meta name="description" content="Just playing around">
    <link rel="modulepreload" href="/assets/app-5e55c3a9.js"><link rel="modulepreload" href="/assets/framework-9675d465.js"><link rel="modulepreload" href="/assets/httpxieyi.html-393ba2a3.js"><link rel="modulepreload" href="/assets/httpxieyi.html-abaf3902.js"><link rel="prefetch" href="/assets/index.html-6d5e9dd3.js" as="script"><link rel="prefetch" href="/assets/index.html-3d8b60b2.js" as="script"><link rel="prefetch" href="/assets/index.html-a7cfb774.js" as="script"><link rel="prefetch" href="/assets/index.html-1a66ce3d.js" as="script"><link rel="prefetch" href="/assets/index.html-a2322c32.js" as="script"><link rel="prefetch" href="/assets/index.html-2b8e88d2.js" as="script"><link rel="prefetch" href="/assets/index.html-36817084.js" as="script"><link rel="prefetch" href="/assets/index.html-c05495db.js" as="script"><link rel="prefetch" href="/assets/index.html-3cf0f594.js" as="script"><link rel="prefetch" href="/assets/index.html-33a8693c.js" as="script"><link rel="prefetch" href="/assets/index.html-80880afd.js" as="script"><link rel="prefetch" href="/assets/index.html-df5b0273.js" as="script"><link rel="prefetch" href="/assets/index.html-d608509e.js" as="script"><link rel="prefetch" href="/assets/index.html-ac9bff28.js" as="script"><link rel="prefetch" href="/assets/index.html-d251d55d.js" as="script"><link rel="prefetch" href="/assets/index.html-d299a2c9.js" as="script"><link rel="prefetch" href="/assets/index.html-c8596e07.js" as="script"><link rel="prefetch" href="/assets/index.html-ce42ac51.js" as="script"><link rel="prefetch" href="/assets/index.html-e1e2c2da.js" as="script"><link rel="prefetch" href="/assets/index.html-49c6b4a8.js" as="script"><link rel="prefetch" href="/assets/index.html-3880c1f3.js" as="script"><link rel="prefetch" href="/assets/index.html-b5b12757.js" as="script"><link rel="prefetch" href="/assets/index.html-6cf06f14.js" as="script"><link rel="prefetch" href="/assets/index.html-1a88d37b.js" as="script"><link rel="prefetch" href="/assets/index.html-c8e98ed0.js" as="script"><link rel="prefetch" href="/assets/index.html-d7cf9c00.js" as="script"><link rel="prefetch" href="/assets/git.html-0da1c675.js" as="script"><link rel="prefetch" href="/assets/html5meitiyuansu.html-4654ddc1.js" as="script"><link rel="prefetch" href="/assets/duoliebuju.html-54f235b4.js" as="script"><link rel="prefetch" href="/assets/DOM__BOM.html-b97d346f.js" as="script"><link rel="prefetch" href="/assets/jsbiji.html-a3fbc3f8.js" as="script"><link rel="prefetch" href="/assets/jsbiji2.html-6c330c31.js" as="script"><link rel="prefetch" href="/assets/RESTheAJAX.html-17e205d8.js" as="script"><link rel="prefetch" href="/assets/shuxingmiaoshufu.html-08b53360.js" as="script"><link rel="prefetch" href="/assets/liulanqixuanranyuanli.html-3208ecf3.js" as="script"><link rel="prefetch" href="/assets/zhonghuievent-loop.html-7baa2b76.js" as="script"><link rel="prefetch" href="/assets/mongodb.html-ad7d95ea.js" as="script"><link rel="prefetch" href="/assets/mongoose.html-31658686.js" as="script"><link rel="prefetch" href="/assets/express.html-042999ef.js" as="script"><link rel="prefetch" href="/assets/httpmokuai.html-9408a820.js" as="script"><link rel="prefetch" href="/assets/nodejs.html-8df1574a.js" as="script"><link rel="prefetch" href="/assets/nodejshexinmokuai.html-72c9480b.js" as="script"><link rel="prefetch" href="/assets/promise.html-85e3fffc.js" as="script"><link rel="prefetch" href="/assets/webpackhevite.html-a09bf01e.js" as="script"><link rel="prefetch" href="/assets/huihuakongzhi.html-86d8c25d.js" as="script"><link rel="prefetch" href="/assets/baoguanliqi.html-86b29b9f.js" as="script"><link rel="prefetch" href="/assets/mokuaihua.html-67d4835d.js" as="script"><link rel="prefetch" href="/assets/fangdaolian.html-932412c5.js" as="script"><link rel="prefetch" href="/assets/typescript.html-0bd71496.js" as="script"><link rel="prefetch" href="/assets/vue-router3.html-09f47896.js" as="script"><link rel="prefetch" href="/assets/vue2(2).html-10c04317.js" as="script"><link rel="prefetch" href="/assets/vue2.html-82b6d2df.js" as="script"><link rel="prefetch" href="/assets/vue2zujiantongxin.html-56d49820.js" as="script"><link rel="prefetch" href="/assets/vueRouter3lanjiazaishiyongdewenti.html-3ffca1f7.js" as="script"><link rel="prefetch" href="/assets/Vuex3.html-e24f4da6.js" as="script"><link rel="prefetch" href="/assets/api.html-b73a9946.js" as="script"><link rel="prefetch" href="/assets/home.html-746a4c0d.js" as="script"><link rel="prefetch" href="/assets/plugin.html-6a7b36ed.js" as="script"><link rel="prefetch" href="/assets/theme.html-6037defd.js" as="script"><link rel="prefetch" href="/assets/121501.html-8973c891.js" as="script"><link rel="prefetch" href="/assets/404.html-60b35caa.js" as="script"><link rel="prefetch" href="/assets/index.html-101169bd.js" as="script"><link rel="prefetch" href="/assets/index.html-c05f203a.js" as="script"><link rel="prefetch" href="/assets/index.html-0c6bc7be.js" as="script"><link rel="prefetch" href="/assets/index.html-0fe42912.js" as="script"><link rel="prefetch" href="/assets/index.html-35698f58.js" as="script"><link rel="prefetch" href="/assets/index.html-a9998c9a.js" as="script"><link rel="prefetch" href="/assets/index.html-e03acce1.js" as="script"><link rel="prefetch" href="/assets/index.html-936bfd18.js" as="script"><link rel="prefetch" href="/assets/index.html-3b167d99.js" as="script"><link rel="prefetch" href="/assets/index.html-6a7e33f2.js" as="script"><link rel="prefetch" href="/assets/index.html-00dc6c81.js" as="script"><link rel="prefetch" href="/assets/index.html-c386c5b9.js" as="script"><link rel="prefetch" href="/assets/index.html-62cab89d.js" as="script"><link rel="prefetch" href="/assets/index.html-c6f54c68.js" as="script"><link rel="prefetch" href="/assets/index.html-5fc54677.js" as="script"><link rel="prefetch" href="/assets/index.html-96867bd4.js" as="script"><link rel="prefetch" href="/assets/index.html-452a2070.js" as="script"><link rel="prefetch" href="/assets/index.html-500c2666.js" as="script"><link rel="prefetch" href="/assets/index.html-d797d831.js" as="script"><link rel="prefetch" href="/assets/index.html-84073cb9.js" as="script"><link rel="prefetch" href="/assets/index.html-8dfee4a9.js" as="script"><link rel="prefetch" href="/assets/index.html-a675820e.js" as="script"><link rel="prefetch" href="/assets/index.html-948f048e.js" as="script"><link rel="prefetch" href="/assets/index.html-522daa8a.js" as="script"><link rel="prefetch" href="/assets/index.html-4d67ded2.js" as="script"><link rel="prefetch" href="/assets/index.html-8caf183d.js" as="script"><link rel="prefetch" href="/assets/git.html-9cef5060.js" as="script"><link rel="prefetch" href="/assets/html5meitiyuansu.html-cd096af4.js" as="script"><link rel="prefetch" href="/assets/duoliebuju.html-4e591000.js" as="script"><link rel="prefetch" href="/assets/DOM__BOM.html-518d085e.js" as="script"><link rel="prefetch" href="/assets/jsbiji.html-f1c6b5c4.js" as="script"><link rel="prefetch" href="/assets/jsbiji2.html-0ce3d86b.js" as="script"><link rel="prefetch" href="/assets/RESTheAJAX.html-174a11fd.js" as="script"><link rel="prefetch" href="/assets/shuxingmiaoshufu.html-12f7f1aa.js" as="script"><link rel="prefetch" href="/assets/liulanqixuanranyuanli.html-e15be5a7.js" as="script"><link rel="prefetch" href="/assets/zhonghuievent-loop.html-993374db.js" as="script"><link rel="prefetch" href="/assets/mongodb.html-06aa4d45.js" as="script"><link rel="prefetch" href="/assets/mongoose.html-f6a2c1e1.js" as="script"><link rel="prefetch" href="/assets/express.html-c34de6a8.js" as="script"><link rel="prefetch" href="/assets/httpmokuai.html-84b55eda.js" as="script"><link rel="prefetch" href="/assets/nodejs.html-2ee518f3.js" as="script"><link rel="prefetch" href="/assets/nodejshexinmokuai.html-fabb53b0.js" as="script"><link rel="prefetch" href="/assets/promise.html-34216aec.js" as="script"><link rel="prefetch" href="/assets/webpackhevite.html-aac8da2d.js" as="script"><link rel="prefetch" href="/assets/huihuakongzhi.html-1540a73e.js" as="script"><link rel="prefetch" href="/assets/baoguanliqi.html-d4dece61.js" as="script"><link rel="prefetch" href="/assets/mokuaihua.html-2cfeca4a.js" as="script"><link rel="prefetch" href="/assets/fangdaolian.html-4c95566c.js" as="script"><link rel="prefetch" href="/assets/typescript.html-3e2bf303.js" as="script"><link rel="prefetch" href="/assets/vue-router3.html-fa748c7b.js" as="script"><link rel="prefetch" href="/assets/vue2(2).html-b4107b02.js" as="script"><link rel="prefetch" href="/assets/vue2.html-dfda70b7.js" as="script"><link rel="prefetch" href="/assets/vue2zujiantongxin.html-4cf781c8.js" as="script"><link rel="prefetch" href="/assets/vueRouter3lanjiazaishiyongdewenti.html-a5f191aa.js" as="script"><link rel="prefetch" href="/assets/Vuex3.html-68ef32c1.js" as="script"><link rel="prefetch" href="/assets/api.html-710c8c92.js" as="script"><link rel="prefetch" href="/assets/home.html-b45de374.js" as="script"><link rel="prefetch" href="/assets/plugin.html-2075a048.js" as="script"><link rel="prefetch" href="/assets/theme.html-5b5f0e80.js" as="script"><link rel="prefetch" href="/assets/121501.html-865346dc.js" as="script"><link rel="prefetch" href="/assets/404.html-eab7b035.js" as="script"><link rel="prefetch" href="/assets/reco-valine-a0c1af1f.js" as="script">
    <link rel="preload" href="/assets/style-887583e0.css" as="style"><link rel="stylesheet" href="/assets/style-887583e0.css">
  </head>
  <body>
    <div id="app"><!--[--><div class="theme-container"><div class="common-wrapper series--no show-catalog"><div><header class="navbar-container"><!--[--><div class="site-brand nav-item"><img class="logo" src="/logo.png" alt="FYJ"><a href="/" class="site-name can-hide">FYJ</a></div><div class="nav-item navbar-links-wrapper" style=""><div><form class="search-box" role="search"><input type="search" autocomplete="off" spellcheck="false" value><!----></form></div><nav class="navbar-links"><!--[--><div class="navbar-links__item"><a href="/" class="link router-link-active" aria-label="Home"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Home<!--]--></span></span><!--[--><!--]--></a></div><div class="navbar-links__item"><a href="/categories/html-note/1/" class="link" aria-label="分类"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->分类<!--]--></span></span><!--[--><!--]--></a></div><div class="navbar-links__item"><a href="/tags/html5/1/" class="link" aria-label="标签"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->标签<!--]--></span></span><!--[--><!--]--></a></div><!--]--></nav><span class="xicon-container btn-toggle-dark-mode btn--dark-mode"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" style="width:20px;height:20px;font-size:20px;color:inherit;"><path d="M15 2h2v3h-2z" fill="currentColor"></path><path d="M27 15h3v2h-3z" fill="currentColor"></path><path d="M15 27h2v3h-2z" fill="currentColor"></path><path d="M2 15h3v2H2z" fill="currentColor"></path><path d="M5.45 6.884l1.414-1.415l2.121 2.122l-1.414 1.414z" fill="currentColor"></path><path d="M23 7.58l2.121-2.12l1.414 1.414l-2.121 2.121z" fill="currentColor"></path><path d="M23.002 24.416l1.415-1.414l2.12 2.122l-1.413 1.414z" fill="currentColor"></path><path d="M5.47 25.13L7.59 23L9 24.42l-2.12 2.12l-1.41-1.41z" fill="currentColor"></path><path d="M16 8a8 8 0 1 0 8 8a8 8 0 0 0-8-8zm0 14a6 6 0 0 1 0-12z" fill="currentColor"></path></svg></span><span class="xicon-container btn-toggle-menus"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" style="width:20px;height:20px;font-size:20px;color:inherit;"><circle cx="16" cy="8" r="2" fill="currentColor"></circle><circle cx="16" cy="16" r="2" fill="currentColor"></circle><circle cx="16" cy="24" r="2" fill="currentColor"></circle></svg></span></div><!--]--></header><div class="mobile-menus-container"><nav class="navbar-links mobile"><!--[--><div class="navbar-links__item"><a href="/" class="link router-link-active" aria-label="Home"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Home<!--]--></span></span><!--[--><!--]--></a></div><div class="navbar-links__item"><a href="/categories/html-note/1/" class="link" aria-label="分类"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->分类<!--]--></span></span><!--[--><!--]--></a></div><div class="navbar-links__item"><a href="/tags/html5/1/" class="link" aria-label="标签"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->标签<!--]--></span></span><!--[--><!--]--></a></div><!--]--></nav><div class="appearance"><span>Appearance</span><span class="xicon-container btn-toggle-dark-mode"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" style="width:20px;height:20px;font-size:20px;color:inherit;"><path d="M15 2h2v3h-2z" fill="currentColor"></path><path d="M27 15h3v2h-3z" fill="currentColor"></path><path d="M15 27h2v3h-2z" fill="currentColor"></path><path d="M2 15h3v2H2z" fill="currentColor"></path><path d="M5.45 6.884l1.414-1.415l2.121 2.122l-1.414 1.414z" fill="currentColor"></path><path d="M23 7.58l2.121-2.12l1.414 1.414l-2.121 2.121z" fill="currentColor"></path><path d="M23.002 24.416l1.415-1.414l2.12 2.122l-1.413 1.414z" fill="currentColor"></path><path d="M5.47 25.13L7.59 23L9 24.42l-2.12 2.12l-1.41-1.41z" fill="currentColor"></path><path d="M16 8a8 8 0 1 0 8 8a8 8 0 0 0-8-8zm0 14a6 6 0 0 1 0-12z" fill="currentColor"></path></svg></span></div></div><div class="series-mask"></div><aside class="series-container"><div class="site-brand"><img class="logo" src="/logo.png" alt="FYJ"><a href="/" class="site-name can-hide">FYJ</a></div><!--[--><!--]--></aside><!--[--><main class="page-container"><h1 class="page-title">http协议</h1><div class="page-info"><span class="xicon-container left"><!--[--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="xicon-icon" style="width:18px;height:18px;font-size:18px;color:inherit;"><path d="M16 4a5 5 0 1 1-5 5a5 5 0 0 1 5-5m0-2a7 7 0 1 0 7 7a7 7 0 0 0-7-7z" fill="currentColor"></path><path d="M26 30h-2v-5a5 5 0 0 0-5-5h-6a5 5 0 0 0-5 5v5H6v-5a7 7 0 0 1 7-7h6a7 7 0 0 1 7 7z" fill="currentColor"></path></svg><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->fyj<!--]--></span></span><span class="xicon-container left"><!--[--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="xicon-icon" style="width:18px;height:18px;font-size:18px;color:inherit;"><path d="M26 4h-4V2h-2v2h-8V2h-2v2H6c-1.1 0-2 .9-2 2v20c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 22H6V12h20v14zm0-16H6V6h4v2h2V6h8v2h2V6h4v4z" fill="currentColor"></path></svg><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2023/05/01<!--]--></span></span><span class="xicon-container left"><!--[--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="xicon-icon" style="width:18px;height:18px;font-size:18px;color:inherit;"><path d="M11.17 6l3.42 3.41l.58.59H28v16H4V6h7.17m0-2H4a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2H16l-3.41-3.41A2 2 0 0 0 11.17 4z" fill="currentColor"></path></svg><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->nodejs-note<!--]--></span></span><span class="xicon-container left"><!--[--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="xicon-icon" style="width:18px;height:18px;font-size:18px;color:inherit;"><path d="M10 14a4 4 0 1 1 4-4a4.005 4.005 0 0 1-4 4zm0-6a2 2 0 1 0 1.998 2.004A2.002 2.002 0 0 0 10 8z" fill="currentColor"></path><path d="M16.644 29.415L2.586 15.354A2 2 0 0 1 2 13.941V4a2 2 0 0 1 2-2h9.941a2 2 0 0 1 1.414.586l14.06 14.058a2 2 0 0 1 0 2.828l-9.943 9.943a2 2 0 0 1-2.829 0zM4 4v9.942L18.058 28L28 18.058L13.942 4z" fill="currentColor"></path></svg><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->http<!--]--></span></span><!----></div><div class="theme-reco-default-content"><div><blockquote><p>Hypertext Transfer Protocol 超文本传输协议</p></blockquote><ul><li>网络基础</li><li>网络的服务器基于请求和响应的</li></ul><hr><p>​ https://lilichao.com/hello/index.html</p><p>https:// 协议名 http ftp ...</p><p>lilichao.com 域名 <strong>（domain）</strong>：整个网络中存在着无数个服务器，每一个我服务器都有它自己的唯一标识，这个标识被称为 ip地址比如 <strong>192.168.1.17</strong>，但是ip地址不方便记忆，域名就相当于是ip地址的别名。</p><p>/hello/index.html 网站资源路径</p><h2 id="两道经典面试题" tabindex="-1"><a class="header-anchor" href="#两道经典面试题" aria-hidden="true">#</a> 两道经典面试题</h2><p><strong>1.当在浏览器中输入地址以后发生了什么？</strong> ① DNS解析，获取网站的ip地址**（相当于电话号码本，在里面查找）** ② 浏览器需要和服务器建立连接（tcp/ip）（三次握手） ③ 向服务器发送请求（http协议） ④ 服务器处理请求，并返回响应（http协议） ⑤ 浏览器将响应的页面渲染 ⑥ 断开和服务器的连接（四次挥手）</p><p><strong>2.客户端如何和服务器建立（断开）连接</strong></p><ul><li>通过三次握手和四次挥手 <ul><li><p><em><strong>三次握手（建立连接）</strong></em></p><ul><li>三次握手是客户端和服务器建立连接的过程 <ol><li>客户端向服务器发送连接请求**（电话拨号）** SYN**(synchronous建立联机)**</li><li>服务器收到连接请求，向客户端返回消息**（听到铃声，接通电话，喂，你能听到我说话吗）** SYN ACK <strong>(acknowledgement同意，确认)</strong></li><li>客户端向服务器发送同意连接的信息**（我能听到你说话了，咱们开始吧）** ACK</li></ol></li></ul></li><li><p><em><strong>四次挥手（断开连接）</strong></em></p><ol><li>客户端向服务器发送请求，通知服务器数据发送完毕，请求断开来接**（我说完了）**</li></ol><p>​ FIN**(finish结束)**</p><ol start="2"><li>服务器向客户端返回数据，知道了**（行，我知道了）**发完了，不一定数据就收完了，中间可能有丢包</li></ol><p>​ ACK</p><ol start="3"><li>服务器向客户端返回数据，收完了，可以断开连接**（我也没事了）**</li></ol><p>​ FIN ACK</p><ol start="4"><li>客户端向服务器发数据，可以断开了**（挂断电话）**</li></ol><p>​ ACK</p></li></ul></li></ul><p>请求和响应实际上就是一段数据，只是这段数据需要遵循一个特殊的格式， 这个特殊的格式由HTTP协议来规定</p><h2 id="tcp-ip-协议族-了解" tabindex="-1"><a class="header-anchor" href="#tcp-ip-协议族-了解" aria-hidden="true">#</a> TCP/IP 协议族（了解）</h2><ul><li><p>TCP/IP协议族中包含了一组协议 这组协议规定了互联网中所有的通信的细节</p></li><li><p>网络通信的过程由四层组成 <strong>应用层</strong>：软件的层面，浏览器 服务器都属于应用层</p><p><strong>传输层</strong>：负责对数据进行拆分，把大数据拆分为一个一个小包 <strong>网络层</strong>：负责给数据包，添加信息 <strong>数据链路层</strong>：传输信息</p></li><li><p>HTTP协议就是应用层的协议，用来规定客户端和服务器间通信的报文格式的协议</p></li><li><p>报文（message）</p><ul><li>浏览器和服务器之间通信是基于请求和响应的 <ul><li>浏览器向服务器发送请求（request）</li><li>服务器向浏览器返回响应（response）</li><li>浏览器向服务器发送请求相当于浏览器给服务器写信， 而服务器向浏览器返回响应，相当于服务器给浏览器回信 这个信在HTTP协议中就被称为报文。</li><li>而HTTP协议就是对这个报文的格式进行规定</li></ul></li></ul></li><li><p><strong>服务器</strong></p><ul><li>一个服务器的<strong>主要功能</strong>：</li></ul><p>​ <strong>1.可以接收到浏览器发送的请求报文</strong><strong>2.可以向浏览器返回响应报文</strong></p></li></ul><h2 id="请求报文-request" tabindex="-1"><a class="header-anchor" href="#请求报文-request" aria-hidden="true">#</a> <strong>请求报文（request）</strong></h2><blockquote><p>客户端发送给服务器的报文称为请求报文</p></blockquote><p>请求报文的格式如下：</p><ol><li><strong>请求首行</strong></li><li><strong>请求头</strong></li><li><strong>空行</strong></li><li><strong>请求体</strong></li></ol><h3 id="_1-请求首行-请求行" tabindex="-1"><a class="header-anchor" href="#_1-请求首行-请求行" aria-hidden="true">#</a> <strong>1.请求首行</strong>(请求行)</h3><p><strong>请求首行就是请求报文的第一行</strong></p><table><thead><tr><th style="text-align:center;">方法</th><th style="text-align:center;">作用</th></tr></thead><tbody><tr><td style="text-align:center;">GET</td><td style="text-align:center;">主要用于获取数据</td></tr><tr><td style="text-align:center;">POST</td><td style="text-align:center;">主要用于新增数据</td></tr><tr><td style="text-align:center;">PUT/PATCH</td><td style="text-align:center;">主要用于更新数据</td></tr><tr><td style="text-align:center;">DELETE</td><td style="text-align:center;">主要用于删除数据</td></tr><tr><td style="text-align:center;">HEAD/OPTIONS/CONNECT/TRACE</td><td style="text-align:center;">使用相对较少</td></tr></tbody></table><p><code>GET /index.html?username=aaa HTTP/1.1</code></p><ul><li><p><strong>第一部分 get 表示请求的方式，get表示发送的是get请求</strong></p><ul><li>现在常用的方式就是<code>get</code>和<code>post</code>请求</li><li><code>get</code>请求主要用来向服务器请求资源</li><li><code>post</code>请求主要用来向服务器发送数据</li></ul></li><li><p><strong>第二部分 /index.html?username=aaa （URL Uniform Resource Locator 统一资源定位符）</strong></p><ul><li><strong>表示请求资源的路径，</strong><code>？</code><strong>后边的内容叫做查询字符串</strong><ul><li>查询字符串是一个名值对结构，一个名字对应一个值，使用=连接，多个名值对之间使用&amp;分割**(username=admin&amp;password=123123)**</li></ul></li><li><code>get</code><em><strong>请求通过查询字符串将数据发送给服务器</strong></em><ul><li>由于查询字符串会在浏览器地址栏中直接显示。所以，它安全性较差，同时，由于url地址长度有限制，所以get请求无法发送较大的数据</li></ul></li><li><code>post</code><em><strong>请求通过请求体来发送数据</strong></em><ul><li>在chrome中通过 载荷 可以查看。post请求通过请求体发送数据，无法在地址栏直接查看，所以安全性较好，请求体的大小没有限制，可以发送任意大小的数据，如果你需要向服务器发送数据，能用post尽量使用post。</li></ul></li></ul></li><li><p><strong>第三部分 HTTP/1.1 协议的版本</strong></p><table><thead><tr><th style="text-align:center;">版本号</th><th style="text-align:center;">发布时间</th></tr></thead><tbody><tr><td style="text-align:center;">1.0</td><td style="text-align:center;">1996年</td></tr><tr><td style="text-align:center;">1.1</td><td style="text-align:center;">1999年</td></tr><tr><td style="text-align:center;">2</td><td style="text-align:center;">2015年</td></tr><tr><td style="text-align:center;">3</td><td style="text-align:center;">2018年</td></tr></tbody></table><p>​</p></li></ul><h3 id="_2-请求头" tabindex="-1"><a class="header-anchor" href="#_2-请求头" aria-hidden="true">#</a> <strong>2.请求头</strong></h3><ul><li><p>请求头也是名值对结构，用来告诉服务器我们浏览器的信息</p></li><li><p>每一个请求头都有它的作用：</p><ol><li><code>Accept</code> ：浏览器可以接受的文件类型</li><li><code>Accept-Encoding</code> ：浏览器允许的压缩的编码</li><li><code>User-Agent</code> ：用来标识客户端（例如浏览器、移动应用等）的信息。它通常包含了客户端的名称、版本号、操作系统和设备信息等。</li><li><code>Accept-Language</code> ： 客户端、浏览器可以接受的语言</li></ol><p>​</p></li></ul><h3 id="_3-空行" tabindex="-1"><a class="header-anchor" href="#_3-空行" aria-hidden="true">#</a> <strong>3.空行</strong></h3><ul><li>用来分隔请求头和请求体</li></ul><h3 id="_4-请求体" tabindex="-1"><a class="header-anchor" href="#_4-请求体" aria-hidden="true">#</a> <strong>4.请求体</strong></h3><ul><li>post请求通过请求体来发送数据</li></ul><p>请求报文：</p><div class="language-markdown line-numbers-mode" data-ext="md"><pre class="language-markdown"><code>GET /07_http%E5%8D%8F%E8%AE%AE/01_http%E5%8D%8F%E8%AE%AE.html?username=aaa HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
Host: 127.0.0.1:5500
If-Modified-Since: Sat, 29 Oct 2022 05:45:42 GMT
If-None-Match: W/&quot;1a6-18422464af5&quot;
Referer: http://127.0.0.1:5500/07_http%E5%8D%8F%E8%AE%AE/01_http%E5%8D%8F%E8%AE%AE.html?username=aaa
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36
sec-ch-ua: &quot;Google Chrome&quot;;v=&quot;107&quot;, &quot;Chromium&quot;;v=&quot;107&quot;, &quot;Not=A?Brand&quot;;v=&quot;24&quot;
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: &quot;Windows&quot;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="响应报文" tabindex="-1"><a class="header-anchor" href="#响应报文" aria-hidden="true">#</a> 响应报文</h2><blockquote><p>服务器向浏览器返回响应</p></blockquote><p>响应报文的格式如下：</p><ol><li><strong>响应首行</strong></li><li><strong>响应头</strong></li><li><strong>空行</strong></li><li><strong>响应体</strong></li></ol><h3 id="_1-响应首行" tabindex="-1"><a class="header-anchor" href="#_1-响应首行" aria-hidden="true">#</a> <strong>1.响应首行</strong></h3><ul><li>HTTP/1.1 200 OK <ul><li>HTTP/1.1 版本号</li><li><strong>200</strong> 响应状态码 参考：https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status</li><li><strong>ok</strong> 对响应状态码的描述</li></ul></li><li>响应状态码的规则 <ul><li>1xx 请求处理中</li><li>2xx 表示成功</li><li>3xx 表示请求的重定向 <strong>输入A.com 进入到 B.com</strong></li><li>4xx 表示客户端错误</li><li>5xx 表示服务器的错误</li></ul></li></ul><h3 id="_2-响应头" tabindex="-1"><a class="header-anchor" href="#_2-响应头" aria-hidden="true">#</a> <strong>2.响应头</strong></h3><ul><li>响应头也是一个一个的名值对结构，用来告诉浏览器响应的信 <ul><li>Cache-Control：缓存控制 private 私有的，只允许客户端缓存数据</li><li>Connection：链接设置</li><li><code>Content-Type</code> ： 用来描述响应体的类型 <ul><li>Content-Type ： text/html; charset=UTF-8 响应体为html，字符集utf-8</li></ul></li><li><code>Content-Length</code> ： 用来描述响应体大小，单位为字节 <ul><li>Content-Length ： 1915</li></ul></li></ul></li></ul><h3 id="_3-空行-1" tabindex="-1"><a class="header-anchor" href="#_3-空行-1" aria-hidden="true">#</a> <strong>3.空行</strong></h3><ul><li>空行用来分隔响应头和响应体</li></ul><h3 id="_4-响应体" tabindex="-1"><a class="header-anchor" href="#_4-响应体" aria-hidden="true">#</a> <strong>4.响应体</strong></h3><ul><li>响应体就是服务器返回给客户端的内容</li></ul><p><strong>网页、css、 js、图片这些资源会作为响应报文中的响应体发送</strong></p><div class="language-html line-numbers-mode" data-ext="html"><pre class="language-html"><code><span class="token doctype"><span class="token punctuation">&lt;!</span><span class="token doctype-tag">DOCTYPE</span> <span class="token name">html</span><span class="token punctuation">&gt;</span></span>

    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>html</span> <span class="token attr-name">lang</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>zh<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>head</span><span class="token punctuation">&gt;</span></span>
            <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>meta</span> <span class="token attr-name">charset</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>UTF-8<span class="token punctuation">&quot;</span></span> <span class="token punctuation">/&gt;</span></span>
            <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>meta</span> <span class="token attr-name">http-equiv</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>X-UA-Compatible<span class="token punctuation">&quot;</span></span> <span class="token attr-name">content</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>IE=e
            &lt;meta name=<span class="token punctuation">&quot;</span></span><span class="token attr-name">viewport&quot;</span> <span class="token attr-name">content</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>width=device-widt
            &lt;title&gt;Document&lt;/title&gt;
        &lt;/head&gt;
        &lt;body&gt;
            &lt;form method=<span class="token punctuation">&quot;</span></span><span class="token attr-name">post&quot;</span> <span class="token attr-name">action</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>./02_target.html<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
                <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>text<span class="token punctuation">&quot;</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>username<span class="token punctuation">&quot;</span></span> <span class="token punctuation">/&gt;</span></span>
                <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>password<span class="token punctuation">&quot;</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>password<span class="token punctuation">&quot;</span></span> <span class="token punctuation">/&gt;</span></span>
                <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>button</span><span class="token punctuation">&gt;</span></span>提交<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>button</span><span class="token punctuation">&gt;</span></span>
            <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>form</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>body</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>html</span><span class="token punctuation">&gt;</span></span>


</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>响应报文：</p><div class="language-markdown line-numbers-mode" data-ext="md"><pre class="language-markdown"><code>    HTTP/1.1 200 OK
    Vary: Origin
    Access-Control-Allow-Credentials: true
    Accept-Ranges: bytes
    Cache-Control: public, max-age=0
    Last-Modified: Sat, 29 Oct 2022 05:45:42 GMT
    Date: Sat, 29 Oct 2022 06:54:00 GMT
    ETag: W/&quot;1a6-18422464af5&quot;
    Content-Type: text/html; charset=UTF-8
    Content-Length: 1915  
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="ip地址" tabindex="-1"><a class="header-anchor" href="#ip地址" aria-hidden="true">#</a> IP地址</h2><blockquote><p>IP也称为地址，本身是一个数字标识 。例如 192.168.1.3</p></blockquote><p>IP本质上是一个32Bit二进制数字 11000000101010000000000100000011 这样是不利于查看所以拆分为四组每组8个Bit</p><p>11000000 <code>192</code> 10101000 <code>168</code> 00000001 <code>1</code> 00000011 <code>3</code> 192.168.1.3</p><p>作用：IP用来标识网络中的设备，实现设备间通信</p><p>IP的分类</p><table><thead><tr><th>类型</th><th>说明</th></tr></thead><tbody><tr><td>本机回环IP地址</td><td>127.0.0.1~127.255.255.254</td></tr><tr><td>局域网P(私网P)</td><td>192.168.0.0~192.168.255.255 172.16.0.0~172.31.255.255 10.0.0.0~10.255.255.255</td></tr><tr><td>广域网P（公网P)</td><td>除上述之外</td></tr></tbody></table><h2 id="静态资源服务" tabindex="-1"><a class="header-anchor" href="#静态资源服务" aria-hidden="true">#</a> 静态资源服务</h2><p>静态资源是指<code>内容长时间不发生改变的资源</code>，例如图片，视频，css文件，js文件，html文件，字体文件等动态资源是指<code>内容经常更新的资源</code>，例如百度首页，网易首页，京东搜索列表页面等</p><p>###网站根目录或静态资源目录</p><p>HTTP 服务在哪个文件夹中寻找静态资源，那个文件夹就是 静态资源目录 ，也称之为 网站根目录。</p><h2 id="get和post请求" tabindex="-1"><a class="header-anchor" href="#get和post请求" aria-hidden="true">#</a> GET和POST请求</h2><p>GET 请求的情况：</p><ul><li>在地址栏直接输入 url 访问</li><li>点击 a 链接</li><li>link 标签引入 css</li><li>script 标签引入 js</li><li>img 标签引入图片</li><li>form 标签中的 method 为 get （不区分大小写）</li><li>ajax 中的 get 请求</li></ul><p>POST 请求的情况：</p><ul><li>form 标签中的 method 为 post（不区分大小写）</li><li>AJAX 的 post 请求</li></ul><h3 id="get和post请求区别" tabindex="-1"><a class="header-anchor" href="#get和post请求区别" aria-hidden="true">#</a> GET和POST请求区别</h3><ul><li>GET 主要用来获取数据，POST 主要用来提交数据</li><li>GET 带参数请求是将参数缀到 URL 之后，在地址栏中输入 url 访问网站就是 GET 请求， POST 带参数请求是将参数放到请求体中</li><li>POST 请求相对 GET 安全一些，因为在浏览器中参数会暴露在地址栏</li><li>GET 请求大小有限制，一般为 2K，而 POST 请求则没有大小限制</li></ul></div></div><footer class="page-meta"><div class="meta-item edit-link"><span class="xicon-container left meta-item-label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="xicon-icon" style="width:20px;height:20px;font-size:20px;color:inherit;"><path d="M2 26h28v2H2z" fill="currentColor"></path><path d="M25.4 9c.8-.8.8-2 0-2.8l-3.6-3.6c-.8-.8-2-.8-2.8 0l-15 15V24h6.4l15-15zm-5-5L24 7.6l-3 3L17.4 7l3-3zM6 22v-3.6l10-10l3.6 3.6l-10 10H6z" fill="currentColor"></path></svg><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Edit this page<!--]--></span></span></div><div class="meta-item last-updated"><span class="xicon-container left meta-item-label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="xicon-icon" style="width:20px;height:20px;font-size:20px;color:inherit;"><path d="M26 4h-4V2h-2v2h-8V2h-2v2H6c-1.1 0-2 .9-2 2v20c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 22H6V12h20v14zm0-16H6V6h4v2h2V6h8v2h2V6h4v4z" fill="currentColor"></path></svg><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Last Updated 2023/5/4 09:38:58<!--]--></span></span></div></footer><!----><!----></main><!--]--><div class="page-catalog-container"><h5 class="tip">ON THIS PAGE</h5><ul><!--[--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#两道经典面试题" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="两道经典面试题"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->两道经典面试题<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#tcp-ip-协议族-了解" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="TCP/IP 协议族（了解）"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->TCP/IP 协议族（了解）<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#请求报文-request" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="请求报文（request）"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->请求报文（request）<!--]--></span></span><!--[--><!--]--></a></li><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#_1-请求首行-请求行" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="1.请求首行(请求行)"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->1.请求首行(请求行)<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#_2-请求头" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="2.请求头"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2.请求头<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#_3-空行" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="3.空行"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->3.空行<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#_4-请求体" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="4.请求体"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->4.请求体<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#响应报文" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="响应报文"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->响应报文<!--]--></span></span><!--[--><!--]--></a></li><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#_1-响应首行" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="1.响应首行"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->1.响应首行<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#_2-响应头" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="2.响应头"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2.响应头<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#_3-空行-1" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="3.空行"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->3.空行<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#_4-响应体" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="4.响应体"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->4.响应体<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#ip地址" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="IP地址"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->IP地址<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#静态资源服务" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="静态资源服务"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->静态资源服务<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#get和post请求" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="GET和POST请求"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->GET和POST请求<!--]--></span></span><!--[--><!--]--></a></li><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/blogs/nodejs-note/httpxieyi.html#get和post请求区别" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="GET和POST请求区别"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->GET和POST请求区别<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--]--><!--]--></ul></div></div></div></div><!----><!----><!--]--></div>
    <script type="module" src="/assets/app-5e55c3a9.js" defer></script>
  </body>
</html>
